Solidity EVM Assembly
bytecode全体の構成
creation code
デプロイ時に使われる部分
コンストラクタに渡すパラメータの取得
コンストラクタの実行
runtime codeをコピーして返す
など
runtime code
実際にチェーン上に記録され、transaction実行時に呼ばれる部分
Function Selector
Function Wrapper
Function Body(関数本体)
など
Free memory pointer
自由に使えるメモリの位置を指すポインタ
code: free memory pointer
000 PUSH1 80
002 PUSH1 40
003 MSTORE
0x00 ~ 0x7f は予約領域なのでbytecode実行時には 0x80 が指定される
Function Selector
どの関数を実行するかを選ぶところ
Function Wrapper
WIP
その他
参考リンク
全般的なチュートリアル、ドキュメント
assembly実装例など
その他